Coarse grain memory management in real-time systems
نویسنده
چکیده
As real-time and embedded systems become increasingly large and complex, the traditional strictly static approach to memory management begins to prove untenable. The high development costs and space requirements of the static approach need to be reduced at a minimal performance penalty and without compromising the predictability of the system. Therefore, the challenge is to provide a dynamic memory model that guarantees tight and bounded time and space requirements without overburdening the developer with memory concerns. The Real-Time Specification for Java (RTSJ) introduces a memory model in which applications create objects in scoped memory regions that can be allocated and freed dynamically. This allows applications to avoid garbage collection latencies and greatly reduces the fragmentation problems that a fine grain explicit memory management solution would incur. However, the RTSJ provides little information on how the model would be implemented in a virtual machine. In particular, there is no explicit requirement on the predictability of region allocation and deallocation. A second shortcoming – the high complexity of using the model in real-world applications – has inhibited uptake of the RTSJ. This thesis argues that a dynamic, coarse grain approach to memory management can help deliver tight time and space overheads at an acceptable development cost. The rationale behind this argument is formulated in a simple hypothesis that describes the correlation between space overheads, time overheads and program semantic information expressible and usable in a memory model. Adopting a scoped approach to coarse grain memory management such as that provided in the RTSJ will be shown to derive a tradeoff between space and time overheads that is attractive at times, but less so at others. The key contributions described in this thesis are constructed on a model that allows the lifetime of coarse grain memory regions to be expressed. Called the Region Partitioning Model, it enforces a separation between memory concerns and program logic and thereby serves two purposes. Firstly, it allows an exploration into the repercussions of enforcing a scoped approach to coarse grain memory management as well as the RTSJ’s implementation of this model. This motivates a number of changes and extension that address the shortcomings of the memory model as currently presented in the RTSJ. Secondly, by separating the memory management aspect from the application, it provides the basis for an environment offering low development and maintenance costs. The result is a model for developing RTSJ applications and a complementing extended RTSJ that addresses the prohibitive complexity of current development approaches while maintaining the performance and predictability advantages of the coarse grain model.
منابع مشابه
Workload Characterization and Locality Management for Coarse-grain Multiprocessors 1 Workload Characterization and Locality Management for Coarse-grain Multiprocessors
Scalable shared memory multiprocessors commonly employ replication and the associated coherency maintenance of memory blocks, but diier in the granularity from ne-grain (cache-coherent multiproces-sors) to coarse-grain (page-based distributed shared memory systems). Regardless of the size of coherency blocks, attaining good performance may depend on the number of copies staying small. Previous ...
متن کاملCoarse-Grained DRAM Power Management
− This paper presents an efficient system level power saving method for DRAM with multiple power modes. The proposed method is based on the power aware scheduling algorithm that controls DRAM modules in coarse grain in which the scheduler assigns appropriate power modes to memory banks at context switching time. The method controls the transition of multiple power modes, which is currently avai...
متن کاملComparative Evaluation of Fine- and Coarse-Grain Approaches for Software Distributed Shared Memory
Symmetric multiprocessors (SMPs) connected with low-latency networks provide attractive building blocks for software distributed shared memory systems. Two distinct approaches have been used: the fine-grain approach that instruments application loads and stores to support a small coherence granularity, and the coarse-grain approach based on virtual memory hardware that provides coherence at a p...
متن کامل\threads: a System for the Support of Concurrent Programming". Technical Report
Many parallel applications are implemented using lightweight thread packages. The low overhead associated with user-level thread management encourages programmers to use threads to exploit ne-grain parallelism in an application. Although the overhead of explicit thread management can be very small, there is other overhead associated with lightweight threads: the time required to load data into ...
متن کاملVirtuosoNext: Fine-Grain Space and Time Partitioning RTOS for Distributed Heterogeneous Systems
In this paper we present VirtuosoNext, an RTOS for distributed heterogeneous systems which provides fine-grain space and time partitioning. Focusing on the Space Partitioning, the benefits and penalties of fine-grain space partitioning for real-time systems are presented by comparing VirtuosoNext to its predecessor OpenComRTOS-1.6. Both use a static memory model and can be used simultanueously ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006